The present invention relates to semiconductor devices and, more specifically, to a fusebay arrangement allowing one fusebay to store compressed repair data from multiple passes.
In semiconductor chip manufacture, self-testing and self-repair systems are often included in a chip design. An example of such a system 100 is illustrated in FIG. 1. Repair data for a chip is stored in a fusebay bank 110, typically including primary, secondary, and tertiary fusebays 112, 114, 116, in which arrays of one-time-programmable (OTP) elements or fuses are used to represent the data. A “blown” fuse represents a one, while an intact fuse represents a zero. The repair data in the fusebay bank 110 is typically compressed. Upon startup or power-up of the chip, a repair device 120 loads repair data from the fusebays 112, 114, 116 into corresponding decompressors 122, 124, 126. Data from primary and secondary decompressors 122, 124 is sent to XOR comparator 130, the output of which is sent to XOR comparator 132 for comparison to data from tertiary decompressor 126. The output of XOR comparator 132 is sent to a repair register 140. When repair register 140 is full, the repair data is sent to a destination device 141, such as a controller for the device into which the self-test and self-repair system 100 is incorporated.
The approach shown in FIG. 1 benefits from the parallel arrangement of fusebays 112, 114, 116 by being able to decompress and compare data from all fusebays simultaneously. The parallel arrangement thus has a time savings for execution/decompression. However, the parallel arrangement yields fusebays whose sizes are fixed upon construction, so that if a repair pass yields more data to store than allocated in its respective fusebay, there is not enough room for the entire repair pass. Additionally, the control structure for the parallel arrangement requires at least one latch for every fuse in a fusebay, often two per fuse. Thus, for a 64×64 fuse array, there may be as many as 8192 latches required to use the array. This complicates controls for the fusebay and increases time required to blow and read fuses.